Log In  
[back to top]

[ :: Read More :: ]

I've of course found plenty of things on doing queues in lua all over the web, but it appears pico 8 has fewer of the main lua libraries available.

What I'd like to do is have a queue for passing messages to coroutines for "commands" to process. TBH it's probably overkill, but I'd like to know how anyway.

I know I can add(x, 10) to append to a table. But then there's del, which apparently only searches for a value and deletes it. I'm surprised there's no mirror operation to add which would remove from the end (or start) of a table. That's what I'm looking for, I think.

P#40290 2017-05-07 20:25 ( Edited 2017-05-08 00:25)

[ :: Read More :: ]

Cart #adventurecreator-8 | 2021-01-12 | Code ▽ | Embed ▽ | No License
15

This is a demake of Adventure Creator, an old Atari 400/800 game. It's not my goal to perfectly imitate the game, just get enough of it in there to be fun and nostalgic to play.

The original game was by Spinnaker/Dale Disharoon on the Atari 400/800 released in 1984.

It is dedicated to the memory of Dale Disharoon who died in 2008. His game gave me and my sister Katy a lot of fond memories together. I hope this demake honors his memory and preserves his legacy in some form.

It's a bit of a strange and probably outdated game. It is best described as a roguelike with questionable mechanics. But it makes a fun toy, and probably interesting to small children and anyone who remembers the game.

The original game had a mode in which you could compose and save your own adventures (hence creator), but this demake focuses ONLY on random dungeon generation.

Thanks to @Krystman for his Porklike tutorial, as I was able to glean some ideas for dungeon generation from it which are used in this cartridge.

To play the game:

You are presented with a goal of a particular treasure to find. When you start the game, you are in a randomly generated maze that is different every time you play the game.

-x or z to start
-move around with dpad
-x to try opening chests (some take extra tries!)
-z to open your inventory screen (also shows your goal treasure and how much energy you have)
-dpad to select a tool from inventory screen
-x will use currently equipped tool if not touching a chest

Monsters exhibit several different behaviors. They can talk, give, steal, trade, zap (hurt you), pop (teleport you around the screen randomly).

Hazards are glowing blue and yellow objects of various shapes and behaviors. They will hurt you, but they come in and out of existence.

When actions occur, a heads-up display will pop up at the bottom of the screen telling you what happened.

Tool guide:
-Ferrets: Shoot this at a monster to find out what its behavior will be if you touch it.
-Hobbles: Freezes monsters for a few seconds so you can get past them.
-Nippers: Shoot this at glowing hazards to remove them.
-Torches: These will light up a dark room so you can see the maze.
-Shields: Makes you totally impervious to monsters and hazards.

Note that Ferrets, Hobbles, and Nippers are projectiles. They will shoot in the direction the knight was last moving.

P#40248 2017-05-06 19:29 ( Edited 2021-01-12 22:56)

[ :: Read More :: ]

I've got some code similar to this in my game for different types of entities.

knight.sm=cocreate(
 function ()
  while(knight.alive) do
   w=knight.w
   h=knight.h
   s=knight.s

   if btn(0) then

... ... .. ..

Basically inside the function I'm creating a coroutine from I just use the "knight" reference from global scope as a "this" reference, so to speak. But...now I want to create a different type of entity within a loop, using a similar approach to the above.

 for m=1,10 do ::redo::
  .... 

  chest.sm=cocreate(
   function()
    while chest.alive==true do

The problem I'm running into is that that "chest" variable inside the loop, only ever seems to refer to one chest (presumably the very first time the function() is processed by lua).

I want to create a coroutine for each chest entity, which has a reference to "that" chest for each one in the loop. I'm sure there's a way to do something like that but I'm fairly new to lua.

P#40244 2017-05-06 16:43 ( Edited 2017-05-06 20:46)

[ :: Read More :: ]

I'm totally new to the Raspberry pi. I thought it would be fun to basically make myself a dedicated Pico 8 machine. I have no idea what all I'd need. I'm imagining:

-A raspberry pi board. Should I get the newest model 3 version? Should the Pico 8 build work on it?
-A case. I want to play this on my tv, don't want the board just dangling out in the dusty air.
-Wifi so I can browse Featured games
-I already have usb controllers. Should they just work?
-A pc keyboard for programming Pico 8 on my couch
-A power supply for the rpi

nice to have:
-set up dropbox linux client so my pico 8 share is accessible via this system as well as my two PCs. Haha. That'd be awesome

Should I need anything else? I'm not even remotely interested in gpio or breadboards or any of that fancy makerfaire electronics stuff. I JUST want pico 8. lol.

NOTE: I do NOT want an emulation station. I JUST want pico 8. Bare bones linux, and pico 8. nothing else. Purity.

NOTE: Also do not want PocketCHIP. That thing looks like garbage to actually use for editing a pico 8 game, even playing it. The controls and keyboard look like a nightmare. I can see it being fun for kids though maybe.

P#39612 2017-04-13 14:33 ( Edited 2018-07-09 09:34)

[ :: Read More :: ]

I'm having so much fun with Pico-8...I feel just like I did when I was 13 getting into QBasic for the first time in 1996. I used to go with my dad to the university with a floppy disc so I could download other people's QBasic programs, which were often "tiny games" by today's standards.

I love the feeling of being inside this cozy little world, that's all about playing games, reading code and writing code. I didn't think I'd ever be in such a world ever again.

I'm actually part of a world that's almost like this one. The NES homebrew community. Folks actually making real NES games in 6502 assembly (and also C at times). It's not quite the same though as the QBasic world felt, but I love it for many other reasons...

I live for making retro games, thanks to the creator for making this wonderful software. Hopefully I'll have some fun tiny games to share with the community at some point.

P#39096 2017-04-04 22:57 ( Edited 2017-04-05 22:58)

[ :: Read More :: ]

Hi! I'm toying around with Pico 8 for fun and relaxation on the side, where my primary pursuit is to develop games for the Nintendo Entertainment System in 6502 assembly.

It's fairly straightforward to implement coroutines in 6502 assembly and use them to represent state machines for entities (actors, etc.).

I was curious if it's common to use coroutines in Lua on Pico-8 for this purpose. I tried searching for "cocreate" in a couple of the featured games but no results came up.

P#39044 2017-04-03 12:48 ( Edited 2017-04-04 16:33)